package com.tms.mail.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 应收单对象 ysd
 *
 * @author ruoyi
 * @date 2024-10-28
 */
public class Ysd extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 应收单号 */
    @Excel(name = "应收单号")
    private String receivableOrderNo;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 客户 */
    @Excel(name = "客户")
    private String customer;

    /** 客户编码 */
    @Excel(name = "客户编码")
    private String customerCode;

    /** 合同名称 */
    @Excel(name = "合同名称")
    private String contractName;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private Integer orderStatus;

    /** 签收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签收时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signTime;

    /** 发货地址 */
    @Excel(name = "发货地址")
    private String shippingAddress;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String receivingAddress;

    /** 结算状态 */
    @Excel(name = "结算状态")
    private Integer settlementStatus;

    /** 结算时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结算时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date settlementTime;

    /** 对账单状态 */
    @Excel(name = "对账单状态")
    private Integer reconciliationStatus;

    /** 对账单号 */
    @Excel(name = "对账单号")
    private String reconciliationNo;

    /** 运费合计(元) */
    @Excel(name = "运费合计(元)")
    private BigDecimal totalFreight;

    /** 运输费(元) */
    @Excel(name = "运输费(元)")
    private BigDecimal transportationFee;

    /** 保险费(元) */
    @Excel(name = "保险费(元)")
    private BigDecimal insuranceFee;

    /** 包装费(元) */
    @Excel(name = "包装费(元)")
    private BigDecimal packagingFee;

    /** 装卸费(元) */
    @Excel(name = "装卸费(元)")
    private BigDecimal handlingFee;

    /** 中转费(元) */
    @Excel(name = "中转费(元)")
    private BigDecimal transshipmentFee;

    /** 燃油费(元) */
    @Excel(name = "燃油费(元)")
    private BigDecimal fuelFee;

    /** 服务费(元) */
    @Excel(name = "服务费(元)")
    private BigDecimal serviceFee;

    /** 其他费用(元) */
    @Excel(name = "其他费用(元)")
    private BigDecimal otherFees;

    /** 现付(元) */
    @Excel(name = "现付(元)")
    private BigDecimal cashOnDelivery;

    /** 预付(元) */
    @Excel(name = "预付(元)")
    private BigDecimal prepaid;

    /** 到付(元) */
    @Excel(name = "到付(元)")
    private BigDecimal collectOnDelivery;

    /** 周期付(元) */
    @Excel(name = "周期付(元)")
    private BigDecimal periodicPayment;

    /** 应付(元) */
    @Excel(name = "应付(元)")
    private BigDecimal payable;

    /** 已对账金额(元) */
    @Excel(name = "已对账金额(元)")
    private BigDecimal reconciledAmount;

    /** 未对账金额(元) */
    @Excel(name = "未对账金额(元)")
    private BigDecimal unreconciledAmount;

    /** 开票状态 */
    @Excel(name = "开票状态")
    private Integer invoicingStatus;

    /** 已开票金额(元) */
    @Excel(name = "已开票金额(元)")
    private BigDecimal invoicedAmount;

    /** 未开票金额(元) */
    @Excel(name = "未开票金额(元)")
    private BigDecimal uninvoicedAmount;

    /** 回款状态 */
    @Excel(name = "回款状态")
    private String paymentStatus;

    /** 已回款金额(元) */
    @Excel(name = "已回款金额(元)")
    private BigDecimal paidAmount;

    /** 未回款金额(元) */
    @Excel(name = "未回款金额(元)")
    private BigDecimal unpaidAmount;

    /** 扣款金额(元) */
    @Excel(name = "扣款金额(元)")
    private BigDecimal deductionAmount;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shippingTime;

    /** 始发地 */
    @Excel(name = "始发地")
    private String origin;

    /** 目的地 */
    @Excel(name = "目的地")
    private String destination;

    /** 承运商 */
    @Excel(name = "承运商")
    private String carrier;

    /** 司机 */
    @Excel(name = "司机")
    private String driver;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phoneNumber;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setReceivableOrderNo(String receivableOrderNo)
    {
        this.receivableOrderNo = receivableOrderNo;
    }

    public String getReceivableOrderNo()
    {
        return receivableOrderNo;
    }
    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }
    public void setCustomer(String customer)
    {
        this.customer = customer;
    }

    public String getCustomer()
    {
        return customer;
    }
    public void setCustomerCode(String customerCode)
    {
        this.customerCode = customerCode;
    }

    public String getCustomerCode()
    {
        return customerCode;
    }
    public void setContractName(String contractName)
    {
        this.contractName = contractName;
    }

    public String getContractName()
    {
        return contractName;
    }
    public void setOrderStatus(Integer orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public Integer getOrderStatus()
    {
        return orderStatus;
    }
    public void setSignTime(Date signTime)
    {
        this.signTime = signTime;
    }

    public Date getSignTime()
    {
        return signTime;
    }
    public void setShippingAddress(String shippingAddress)
    {
        this.shippingAddress = shippingAddress;
    }

    public String getShippingAddress()
    {
        return shippingAddress;
    }
    public void setReceivingAddress(String receivingAddress)
    {
        this.receivingAddress = receivingAddress;
    }

    public String getReceivingAddress()
    {
        return receivingAddress;
    }
    public void setSettlementStatus(Integer settlementStatus)
    {
        this.settlementStatus = settlementStatus;
    }

    public Integer getSettlementStatus()
    {
        return settlementStatus;
    }
    public void setSettlementTime(Date settlementTime)
    {
        this.settlementTime = settlementTime;
    }

    public Date getSettlementTime()
    {
        return settlementTime;
    }
    public void setReconciliationStatus(Integer reconciliationStatus)
    {
        this.reconciliationStatus = reconciliationStatus;
    }

    public Integer getReconciliationStatus()
    {
        return reconciliationStatus;
    }
    public void setReconciliationNo(String reconciliationNo)
    {
        this.reconciliationNo = reconciliationNo;
    }

    public String getReconciliationNo()
    {
        return reconciliationNo;
    }
    public void setTotalFreight(BigDecimal totalFreight)
    {
        this.totalFreight = totalFreight;
    }

    public BigDecimal getTotalFreight()
    {
        return totalFreight;
    }
    public void setTransportationFee(BigDecimal transportationFee)
    {
        this.transportationFee = transportationFee;
    }

    public BigDecimal getTransportationFee()
    {
        return transportationFee;
    }
    public void setInsuranceFee(BigDecimal insuranceFee)
    {
        this.insuranceFee = insuranceFee;
    }

    public BigDecimal getInsuranceFee()
    {
        return insuranceFee;
    }
    public void setPackagingFee(BigDecimal packagingFee)
    {
        this.packagingFee = packagingFee;
    }

    public BigDecimal getPackagingFee()
    {
        return packagingFee;
    }
    public void setHandlingFee(BigDecimal handlingFee)
    {
        this.handlingFee = handlingFee;
    }

    public BigDecimal getHandlingFee()
    {
        return handlingFee;
    }
    public void setTransshipmentFee(BigDecimal transshipmentFee)
    {
        this.transshipmentFee = transshipmentFee;
    }

    public BigDecimal getTransshipmentFee()
    {
        return transshipmentFee;
    }
    public void setFuelFee(BigDecimal fuelFee)
    {
        this.fuelFee = fuelFee;
    }

    public BigDecimal getFuelFee()
    {
        return fuelFee;
    }
    public void setServiceFee(BigDecimal serviceFee)
    {
        this.serviceFee = serviceFee;
    }

    public BigDecimal getServiceFee()
    {
        return serviceFee;
    }
    public void setOtherFees(BigDecimal otherFees)
    {
        this.otherFees = otherFees;
    }

    public BigDecimal getOtherFees()
    {
        return otherFees;
    }
    public void setCashOnDelivery(BigDecimal cashOnDelivery)
    {
        this.cashOnDelivery = cashOnDelivery;
    }

    public BigDecimal getCashOnDelivery()
    {
        return cashOnDelivery;
    }
    public void setPrepaid(BigDecimal prepaid)
    {
        this.prepaid = prepaid;
    }

    public BigDecimal getPrepaid()
    {
        return prepaid;
    }
    public void setCollectOnDelivery(BigDecimal collectOnDelivery)
    {
        this.collectOnDelivery = collectOnDelivery;
    }

    public BigDecimal getCollectOnDelivery()
    {
        return collectOnDelivery;
    }
    public void setPeriodicPayment(BigDecimal periodicPayment)
    {
        this.periodicPayment = periodicPayment;
    }

    public BigDecimal getPeriodicPayment()
    {
        return periodicPayment;
    }
    public void setPayable(BigDecimal payable)
    {
        this.payable = payable;
    }

    public BigDecimal getPayable()
    {
        return payable;
    }
    public void setReconciledAmount(BigDecimal reconciledAmount)
    {
        this.reconciledAmount = reconciledAmount;
    }

    public BigDecimal getReconciledAmount()
    {
        return reconciledAmount;
    }
    public void setUnreconciledAmount(BigDecimal unreconciledAmount)
    {
        this.unreconciledAmount = unreconciledAmount;
    }

    public BigDecimal getUnreconciledAmount()
    {
        return unreconciledAmount;
    }
    public void setInvoicingStatus(Integer invoicingStatus)
    {
        this.invoicingStatus = invoicingStatus;
    }

    public Integer getInvoicingStatus()
    {
        return invoicingStatus;
    }
    public void setInvoicedAmount(BigDecimal invoicedAmount)
    {
        this.invoicedAmount = invoicedAmount;
    }

    public BigDecimal getInvoicedAmount()
    {
        return invoicedAmount;
    }
    public void setUninvoicedAmount(BigDecimal uninvoicedAmount)
    {
        this.uninvoicedAmount = uninvoicedAmount;
    }

    public BigDecimal getUninvoicedAmount()
    {
        return uninvoicedAmount;
    }
    public void setPaymentStatus(String paymentStatus)
    {
        this.paymentStatus = paymentStatus;
    }

    public String getPaymentStatus()
    {
        return paymentStatus;
    }
    public void setPaidAmount(BigDecimal paidAmount)
    {
        this.paidAmount = paidAmount;
    }

    public BigDecimal getPaidAmount()
    {
        return paidAmount;
    }
    public void setUnpaidAmount(BigDecimal unpaidAmount)
    {
        this.unpaidAmount = unpaidAmount;
    }

    public BigDecimal getUnpaidAmount()
    {
        return unpaidAmount;
    }
    public void setDeductionAmount(BigDecimal deductionAmount)
    {
        this.deductionAmount = deductionAmount;
    }

    public BigDecimal getDeductionAmount()
    {
        return deductionAmount;
    }
    public void setShippingTime(Date shippingTime)
    {
        this.shippingTime = shippingTime;
    }

    public Date getShippingTime()
    {
        return shippingTime;
    }
    public void setOrigin(String origin)
    {
        this.origin = origin;
    }

    public String getOrigin()
    {
        return origin;
    }
    public void setDestination(String destination)
    {
        this.destination = destination;
    }

    public String getDestination()
    {
        return destination;
    }
    public void setCarrier(String carrier)
    {
        this.carrier = carrier;
    }

    public String getCarrier()
    {
        return carrier;
    }
    public void setDriver(String driver)
    {
        this.driver = driver;
    }

    public String getDriver()
    {
        return driver;
    }
    public void setPhoneNumber(String phoneNumber)
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber()
    {
        return phoneNumber;
    }
    public void setCreatedBy(String createdBy)
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy()
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime)
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime()
    {
        return createdTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("receivableOrderNo", getReceivableOrderNo())
            .append("orderNo", getOrderNo())
            .append("customer", getCustomer())
            .append("customerCode", getCustomerCode())
            .append("contractName", getContractName())
            .append("orderStatus", getOrderStatus())
            .append("signTime", getSignTime())
            .append("shippingAddress", getShippingAddress())
            .append("receivingAddress", getReceivingAddress())
            .append("settlementStatus", getSettlementStatus())
            .append("settlementTime", getSettlementTime())
            .append("reconciliationStatus", getReconciliationStatus())
            .append("reconciliationNo", getReconciliationNo())
            .append("totalFreight", getTotalFreight())
            .append("transportationFee", getTransportationFee())
            .append("insuranceFee", getInsuranceFee())
            .append("packagingFee", getPackagingFee())
            .append("handlingFee", getHandlingFee())
            .append("transshipmentFee", getTransshipmentFee())
            .append("fuelFee", getFuelFee())
            .append("serviceFee", getServiceFee())
            .append("otherFees", getOtherFees())
            .append("cashOnDelivery", getCashOnDelivery())
            .append("prepaid", getPrepaid())
            .append("collectOnDelivery", getCollectOnDelivery())
            .append("periodicPayment", getPeriodicPayment())
            .append("payable", getPayable())
            .append("reconciledAmount", getReconciledAmount())
            .append("unreconciledAmount", getUnreconciledAmount())
            .append("invoicingStatus", getInvoicingStatus())
            .append("invoicedAmount", getInvoicedAmount())
            .append("uninvoicedAmount", getUninvoicedAmount())
            .append("paymentStatus", getPaymentStatus())
            .append("paidAmount", getPaidAmount())
            .append("unpaidAmount", getUnpaidAmount())
            .append("deductionAmount", getDeductionAmount())
            .append("shippingTime", getShippingTime())
            .append("origin", getOrigin())
            .append("destination", getDestination())
            .append("carrier", getCarrier())
            .append("driver", getDriver())
            .append("phoneNumber", getPhoneNumber())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .toString();
    }
}
